package Utils;

/**
 * 键入的用户信息校验类
 */
public class InputDataVerificationUtils {

    /**
     * 检验账号是否满足规则：13位纯数字
     * @param account 从键盘录入的账号
     * @return true:是  false:否
     */
    public static boolean verifyAccount(String account){
        String regex = "[0-9]{13}";
        return account.matches(regex);
    }

    /**
     * 检验密码是否满足规则：0-9、a-z和A-Z的字符组合，长度6-18位
     * @param password 从键盘录入的密码
     * @return true:是  false:否
     */
    public static boolean verifyPassword(String password){
        String regex = "[0-9a-zA-z]{6,18}";
        return password.matches(regex);
    }

    /**
     * 检验姓名是否满足规则：中英字符，长度2-10
     * @param name 从键盘录入的姓名
     * @return true:是  false:否
     */
    public static boolean verifyName(String name){
        String regex = "[a-zA-z\\u4e00-\\u9fa5]{2,10}";
        return name.matches(regex);
    }

    /**
     * 检验年龄是否满足规则：1-99岁，不能以0开头
     * @param age 从键盘录入的年龄
     * @return true:是  false:否
     */
    public static boolean verifyAge(String age){
        String regex = "[0-9]{1,2}";
        return age.matches(regex);
    }

    /**
     * 检验性别是否满足规则：男、女或保密
     * @param gender 从键盘录入的性别
     * @return true:是  false:否
     */
    public static boolean verifyGender(String gender){
        return "男".equals(gender) || "女".equals(gender) || "保密".equals(gender);
    }


    //单元测试
    public static void main(String[] args) {
        //System.out.println(verifyAccount("2022215071541"));
        //System.out.println(verifyPassword("123456a."));
        //System.out.println(verifyName("!@"));
        System.out.println(verifyAge("1"));
        System.out.println(verifyAge("11"));
        System.out.println(verifyAge("111"));
        //System.out.println(verifyGender("保密"));
    }
}
